package com.snpic.appaw.module.third.api.bjpt.dto.iSPolicyQuery;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.math.BigDecimal;
/**
 * @author JiJun
 * @date 2025/9/19 19:29
 * @修改时间 2025/9/19 19:29
 * @description
 */

@Data
@Schema(description = "平台交互基本信息数据传输对象")
public class ISCIDemandDTO {

    @Schema(description = "投保查询码", maxLength = 50)
    private String demandNo;

    @Schema(description = "投保单号", maxLength = 30)
    private String proposalNo;

    @Schema(description = "保单号", maxLength = 30)
    private String policyNo;

    @Schema(description = "是否转保业务标志 0－否 1－是", maxLength = 2)
    private String renewInsurerFlag;

    @Schema(description = "校验问题描述", maxLength = 2000)
    private String checkQuestion;

    @Schema(description = "校验问题答案", maxLength = 400)
    private String checkAnswer;

    @Schema(description = "重复投保标志", maxLength = 2)
    private String reinsureFlag;

    @Schema(description = "重复投保信息/车主提示信息", maxLength = 4000)
    private String remark;

    @Schema(description = "违法浮动原因代码[详见码表]", maxLength = 30)
    private String peccancyAdjustReason;

    @Schema(description = "理赔浮动原因代码[详见码表]", maxLength = 30)
    private String claimAdjustReason;

    @Schema(description = "不浮动原因代码[详见码表]", maxLength = 4)
    private String rateFloatFlag;

    @Schema(description = "违法调整系数", example = "1.00")
    private BigDecimal peccancyAdjust;

    @Schema(description = "理赔调整系数", example = "1.00")
    private BigDecimal claimAdjust;

    @Schema(description = "指定驾驶员调整系数", example = "1.00")
    private BigDecimal driverCoeff;

    @Schema(description = "地区系数", example = "1.00")
    private BigDecimal districtCoeff;

    @Schema(description = "附加手续费比例", example = "0.15")
    private BigDecimal commissionRate;

    @Schema(description = "交强险调整总系数（北京）", example = "1.00")
    private BigDecimal sumAdjustValue;

    @Schema(description = "保额", example = "100000.00")
    private BigDecimal sumInsured;

    @Schema(description = "基础保费", example = "950.00")
    private BigDecimal basePremium;

    @Schema(description = "标准保费", example = "950.00")
    private BigDecimal standardPremium;

    @Schema(description = "实收保费", example = "950.00")
    private BigDecimal premium;

    @Schema(description = "总折扣", example = "0.00")
    private BigDecimal sumDiscount;

    @Schema(description = "总折扣保费", example = "950.00")
    private BigDecimal preferPremium;

    @Schema(description = "计提救助基金比例", example = "0.02")
    private BigDecimal fundRate;

    @Schema(description = "计提救助基金金额", example = "19.00")
    private BigDecimal fundAmount;
}